home *** CD-ROM | disk | FTP | other *** search
/ The CICA Windows Explosion! / The CICA Windows Explosion! - Disc 2.iso / programr / tabvie.zip / ORDERVW.CPP < prev    next >
C/C++ Source or Header  |  1994-04-13  |  3KB  |  157 lines

  1. // ordervw.cpp : implementation file
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include "tab.h"
  6. #include "ctl3d.h"
  7. #include "ordervw.h"
  8.  
  9. #ifdef _DEBUG
  10. #undef THIS_FILE
  11. static char BASED_CODE THIS_FILE[] = __FILE__;
  12. #endif
  13.  
  14. /////////////////////////////////////////////////////////////////////////////
  15. // COrderView
  16. #define BASE    CFormView
  17. #define THIS    COrderView
  18. IMPLEMENT_DYNCREATE(COrderView, CFormView)
  19.  
  20. THIS::THIS()
  21.     : CFormView(COrderView::IDD)
  22. {
  23.     //{{AFX_DATA_INIT(COrderView)
  24.     m_tabHeight = 25;
  25.     m_tabMargin = 7;
  26.     m_enable = TRUE;
  27.     //}}AFX_DATA_INIT
  28. }
  29.  
  30. THIS::~THIS()
  31. {
  32. }
  33.  
  34. void THIS::DoDataExchange(CDataExchange* pDX)
  35. {
  36.     CFormView::DoDataExchange(pDX);
  37.     //{{AFX_DATA_MAP(COrderView)
  38.     DDX_Control(pDX, IDD_TAB_STYLE, m_tabStyle);
  39.     DDX_Control(pDX, IDD_TAB_LOOK, m_tabLook);
  40.     DDX_Text(pDX, IDC_TAB_HEIGHT, m_tabHeight);
  41.     DDV_MinMaxUInt(pDX, m_tabHeight, 5, 100);
  42.     DDX_Text(pDX, IDC_TAB_MARGIN, m_tabMargin);
  43.     DDV_MinMaxUInt(pDX, m_tabMargin, 2, 100);
  44.     DDX_Check(pDX, IDC_ENABLE, m_enable);
  45.     //}}AFX_DATA_MAP
  46. }
  47.  
  48. void THIS::OnInitialUpdate()
  49. {
  50.     BASE::OnInitialUpdate();
  51.  
  52.     Ctl3dSubclassDlg (m_hWnd, CTL3D_ALL);
  53.     m_tabLook.SetCurSel(0);
  54.     m_tabStyle.SetCurSel(0);
  55. }
  56. BEGIN_MESSAGE_MAP(COrderView, CFormView)
  57.     //{{AFX_MSG_MAP(COrderView)
  58.     ON_COMMAND(ID_HELP_ORDERS,OnTestOrder)
  59.     ON_WM_SYSCOMMAND()
  60.     ON_CBN_SELCHANGE(IDD_TAB_LOOK, OnSelchangeTabLook)
  61.     ON_CBN_SELCHANGE(IDD_TAB_STYLE, OnSelchangeTabStyle)
  62.     ON_WM_SIZE()
  63.     ON_BN_CLICKED(ID_APPLY, OnApply)
  64.     ON_WM_KILLFOCUS()
  65.     //}}AFX_MSG_MAP
  66. END_MESSAGE_MAP()
  67.  
  68. /////////////////////////////////////////////////////////////////////////////
  69. // COrderView message handlers
  70.  
  71. void THIS::OnTestOrder()
  72. {
  73.     AfxMessageBox("Handled in OrderView");
  74. }
  75.  
  76. void THIS::OnSysCommand(UINT nChar,LONG lParam)
  77. {
  78.     if(m_pTabView->doSysCommand(nChar,lParam))
  79.         return;
  80.     BASE::OnSysCommand(nChar,lParam);
  81. }
  82.  
  83. void THIS::OnSelchangeTabLook()
  84. {
  85.     int sel = m_tabLook.GetCurSel();
  86.     m_pTabView->setLAF((sel == 0) ? LAF_MSWORD:LAF_CHICAGO);
  87. }
  88.  
  89. void THIS::OnSelchangeTabStyle()
  90. {
  91.     int sel = m_tabStyle.GetCurSel();
  92.     switch(sel)
  93.     {
  94.         case 0:
  95.             m_pTabView->setTabPosition(TABSONTOP);
  96.             break;
  97.         case 1:
  98.             m_pTabView->setTabPosition(TABSONLEFT);
  99.             break;
  100.         case 2:
  101.             m_pTabView->setTabPosition(TABSONLEFTBOT);
  102.             break;
  103.         case 3:
  104.             m_pTabView->setTabPosition(TABSONRIGHT);
  105.             break;
  106.         case 4:
  107.             m_pTabView->setTabPosition(TABSONRIGHTBOT);
  108.             break;
  109.     }
  110. }
  111.  
  112. void THIS::OnSize(UINT nType, int cx, int cy)
  113. {
  114.     CFormView::OnSize(nType, cx, cy);
  115.  
  116.     SetSize(ID_FRAME,cx-10,cy-10);    
  117. //    setPosition(ID_APPLY,x,y);
  118. //    setPosition(ID_UPDATE,x,y);
  119.     
  120. }
  121. void THIS::SetPosition(UINT nID,int x,int y)
  122. {
  123.     CWnd* wnd = GetDlgItem(nID);
  124.     if(!wnd)
  125.         return;
  126.     wnd->SetWindowPos(NULL,x,y,0,0,SWP_NOZORDER|SWP_NOSIZE);
  127. }
  128. void THIS::SetSize(UINT nID,int width,int height)
  129. {
  130.     CWnd* wnd = GetDlgItem(nID);
  131.     if(!wnd)
  132.         return;
  133.     wnd->SetWindowPos(NULL,0,0,width,height,SWP_NOZORDER|SWP_NOMOVE);
  134. }
  135. CRect& THIS::GetRect(UINT nID)
  136. {
  137.     CRect rect;
  138.     CWnd* wnd = GetDlgItem(nID);
  139.     wnd->GetWindowRect(&rect);
  140.     wnd->ScreenToClient(&rect);
  141. //    CPoint pt = rect;
  142.     return rect;
  143. }
  144. void THIS::OnApply()
  145. {
  146.     UpdateData(TRUE);
  147.     m_pTabView->setMargin(m_tabMargin);
  148.     m_pTabView->setTabHeight(m_tabHeight);
  149.     m_pTabView->enableView(1,m_enable);
  150. }
  151.  
  152. void COrderView::OnKillFocus(CWnd* pNewWnd)
  153. {
  154.     CFormView::OnKillFocus(pNewWnd);
  155.  
  156. }
  157.